﻿using System;

namespace SharpSqlAnalyzer.nodes.teradata
{
	// Token: 0x02000388 RID: 904
	public class TIndexDefinition : TParseTreeNode
	{
		// Token: 0x17000836 RID: 2102
		// (get) Token: 0x060025B9 RID: 9657 RVA: 0x0033A019 File Offset: 0x00338219
		// (set) Token: 0x060025B8 RID: 9656 RVA: 0x0033A010 File Offset: 0x00338210
		public virtual bool Unique
		{
			get
			{
				return this.unique;
			}
			set
			{
				this.unique = value;
			}
		}

		// Token: 0x17000837 RID: 2103
		// (get) Token: 0x060025BB RID: 9659 RVA: 0x0033A02A File Offset: 0x0033822A
		// (set) Token: 0x060025BA RID: 9658 RVA: 0x0033A021 File Offset: 0x00338221
		public virtual TExpressionList PartitionExprList
		{
			get
			{
				return this.partitionExprList;
			}
			set
			{
				this.partitionExprList = value;
			}
		}

		// Token: 0x17000838 RID: 2104
		// (get) Token: 0x060025BD RID: 9661 RVA: 0x0033A03B File Offset: 0x0033823B
		// (set) Token: 0x060025BC RID: 9660 RVA: 0x0033A032 File Offset: 0x00338232
		public virtual bool Primary
		{
			get
			{
				return this.primary;
			}
			set
			{
				this.primary = value;
			}
		}

		// Token: 0x17000839 RID: 2105
		// (get) Token: 0x060025BF RID: 9663 RVA: 0x0033A04C File Offset: 0x0033824C
		// (set) Token: 0x060025BE RID: 9662 RVA: 0x0033A043 File Offset: 0x00338243
		public virtual TObjectName OrderColumnName
		{
			get
			{
				return this.orderColumnName;
			}
			set
			{
				this.orderColumnName = value;
			}
		}

		// Token: 0x1700083A RID: 2106
		// (get) Token: 0x060025C1 RID: 9665 RVA: 0x0033A05D File Offset: 0x0033825D
		// (set) Token: 0x060025C0 RID: 9664 RVA: 0x0033A054 File Offset: 0x00338254
		public virtual bool All
		{
			get
			{
				return this.all;
			}
			set
			{
				this.all = value;
			}
		}

		// Token: 0x060025C2 RID: 9666 RVA: 0x0033A065 File Offset: 0x00338265
		public override void init(object arg1)
		{
			this.indexColumns = (TObjectNameList)arg1;
		}

		// Token: 0x060025C3 RID: 9667 RVA: 0x0033A073 File Offset: 0x00338273
		public override void init(object arg1, object arg2)
		{
			this.init(arg1);
			this.indexName = (TObjectName)arg2;
		}

		// Token: 0x1700083B RID: 2107
		// (get) Token: 0x060025C4 RID: 9668 RVA: 0x0033A088 File Offset: 0x00338288
		// (set) Token: 0x060025C5 RID: 9669 RVA: 0x0033A090 File Offset: 0x00338290
		public virtual TObjectNameList IndexColumns
		{
			get
			{
				return this.indexColumns;
			}
			set
			{
				this.indexColumns = value;
			}
		}

		// Token: 0x1700083C RID: 2108
		// (get) Token: 0x060025C6 RID: 9670 RVA: 0x0033A099 File Offset: 0x00338299
		// (set) Token: 0x060025C7 RID: 9671 RVA: 0x0033A0A1 File Offset: 0x003382A1
		public virtual TObjectName IndexName
		{
			get
			{
				return this.indexName;
			}
			set
			{
				this.indexName = value;
			}
		}

		// Token: 0x060025C8 RID: 9672 RVA: 0x0033A0AA File Offset: 0x003382AA
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x060025C9 RID: 9673 RVA: 0x0033A0BA File Offset: 0x003382BA
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001CE2 RID: 7394
		private TObjectName indexName;

		// Token: 0x04001CE3 RID: 7395
		private bool unique;

		// Token: 0x04001CE4 RID: 7396
		private bool primary;

		// Token: 0x04001CE5 RID: 7397
		private bool all;

		// Token: 0x04001CE6 RID: 7398
		private TObjectNameList indexColumns;

		// Token: 0x04001CE7 RID: 7399
		private TExpressionList partitionExprList;

		// Token: 0x04001CE8 RID: 7400
		private TObjectName orderColumnName;
	}
}
